/*
 * @Author: Logan.Li
 * @Gitee: https://gitee.com/attacker
 * @email: admin@attacker.club
 * @Date: 2024-07-04 21:24:43
 * @LastEditTime: 2025-02-23 00:30:35
 * @Description: 
 */
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue()],
  resolve: {
    alias: {
      '@': path.resolve(__dirname, 'src')
    }
  },
  server: {
    port: 8080
  },
  build: {
    // rollup工程化配置打包分包
    rollupOptions:{
        output:{
            // 入口文件js
            entryFileNames: 'js/[name]-[hash].js',
            chunkFileNames: 'js/[name]-[hash].js',
            assetFileNames(assetInfo) {
                if (assetInfo.name.endsWith('.css')) {
                    // 如果是CSS文件，放入css目录
                    return 'css/[name]-[hash][extname]';
                }
                const imgExts = ['.png', '.jpg', '.jpeg', '.webp', '.svg', '.gif', '.ico'];
                if (imgExts.some(ext => assetInfo.name.endsWith(ext))) {
                    // 图片文件放入imgs目录
                    return 'imgs/[name]-[hash][extname]';
                }
                // 其他类型的资产文件保持默认，放入assets目录
                return 'assets/[name]-[hash][extname]';
                },
            
        }
    }
  }
})
